package dp;

public class _04_62_不同路径 {
	static int N = 110;
	static int dp[][] = new int[N][N];
    public static int uniquePaths(int m, int n) {
    	for(int i = 0; i < m; i++) {
    		dp[i][0] = 1;
    	}
    	for(int i = 0; i < n; i++) {
    		dp[0][i] = 1;
    	}
    	// dp思路：到达当前的路径=到达上一个格子的路径+到达左一个格子的路径
    	for(int i = 1; i < m; i++) {
    		for(int j = 1; j < n; j++) {
    			dp[i][j] = dp[i-1][j] + dp[i][j-1];
    		}
    	}

    	return dp[m-1][n-1];
    }
    
    
    public static void main(String[] args) {
    	System.out.println(uniquePaths(1,1));
	}
}
